package Negocio;

import javax.persistence.*;
import DTO.ViajeInterSucursalVO;
import SRV.SucursalSRV;


@Entity
@DiscriminatorValue("SucursalSucursal")
public class ViajeInterSucursal extends Viaje
{
	
	@OneToOne
	@JoinColumn(name="idSucOrigen")
	private Sucursal origen;
	
	@OneToOne
	@JoinColumn(name="idSucDestino")
	private Sucursal destino;
	
	public ViajeInterSucursal(float distancia, String detalle, Sucursal origen, Sucursal destino) 
	{
		super(distancia, detalle);
		this.origen = origen;
		this.destino = destino;
	}

	public ViajeInterSucursal toBusiness(ViajeInterSucursalVO viajeVO){
		SucursalSRV daoSuc = new SucursalSRV();
	    Sucursal sucursalOrigen = new Sucursal();
	    Sucursal sucursalDestino = new Sucursal();
	    
	    sucursalOrigen = daoSuc.getSucursal(viajeVO.getOrigen());
	    sucursalDestino = daoSuc.getSucursal(viajeVO.getDestino());
	    
	    ViajeInterSucursal devuelto = new ViajeInterSucursal(viajeVO.getDistancia(), viajeVO.getDetalle(), sucursalOrigen, sucursalDestino);
	    
	    return devuelto;
	}
	
	public ViajeInterSucursal() {super();}

	public Sucursal getOrigen() {
		return origen;
	}

	public void setOrigen(Sucursal origen) {
		this.origen = origen;
	}

	public Sucursal getDestino() {
		return destino;
	}

	public void setDestino(Sucursal destino) {
		this.destino = destino;
	}

	public ViajeInterSucursalVO toVO() {
		ViajeInterSucursalVO viajeVO = new ViajeInterSucursalVO(getIdViaje(), getDistancia(), getDetalle(), getOrigen().getIdSucursal(), 
				getOrigen().getIdSucursal());
		return viajeVO;
	}

	@Override
	public boolean sosViajeInterSucursal() {
		return true;
	}

	@Override
	public boolean sosViajeOrigenSucursal() {
		return false;
	}

	@Override
	public boolean sosViajeSucursalDestino() {
		return false;
	}


}
